package cn.iocoder.yudao.framework.business.basic.dao.query;

import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;

import java.util.Collection;

/**
 * 拓展 MyBatis Plus QueryWrapper 类
 *
 *  @param <T> 数据类型
 */
public class CoreQueryWrapper<T> extends QueryWrapperX<T> {

    @Override
    public CoreQueryWrapper<T> likeIfPresent(String column, String val) {
        return (CoreQueryWrapper<T>) super.likeIfPresent(column, val);
    }

    @Override
    public CoreQueryWrapper<T> inIfPresent(String column, Collection<?> values) {
        return (CoreQueryWrapper<T>) super.inIfPresent(column, values);
    }

    @Override
    public CoreQueryWrapper<T> inIfPresent(String column, Object... values) {
        return (CoreQueryWrapper<T>) super.inIfPresent(column, values);
    }

    @Override
    public CoreQueryWrapper<T> eqIfPresent(String column, Object val) {
        return (CoreQueryWrapper<T>) super.eqIfPresent(column, val);
    }

    @Override
    public CoreQueryWrapper<T> neIfPresent(String column, Object val) {
        return (CoreQueryWrapper<T>) super.neIfPresent(column, val);
    }

    @Override
    public CoreQueryWrapper<T> gtIfPresent(String column, Object val) {
        return (CoreQueryWrapper<T>) super.gtIfPresent(column, val);
    }

    @Override
    public CoreQueryWrapper<T> geIfPresent(String column, Object val) {
        return (CoreQueryWrapper<T>) super.geIfPresent(column, val);
    }

    @Override
    public CoreQueryWrapper<T> ltIfPresent(String column, Object val) {
        return (CoreQueryWrapper<T>) super.ltIfPresent(column, val);
    }

    @Override
    public CoreQueryWrapper<T> leIfPresent(String column, Object val) {
        return (CoreQueryWrapper<T>) super.leIfPresent(column, val);
    }

    @Override
    public CoreQueryWrapper<T> betweenIfPresent(String column, Object val1, Object val2) {
        return (CoreQueryWrapper<T>) super.betweenIfPresent(column, val1, val2);
    }

    @Override
    public CoreQueryWrapper<T> betweenIfPresent(String column, Object[] values) {
        return (CoreQueryWrapper<T>) super.betweenIfPresent(column, values);
    }

    @Override
    public CoreQueryWrapper<T> eq(boolean condition, String column, Object val) {
        return (CoreQueryWrapper<T>) super.eq(condition, column, val);
    }

    @Override
    public CoreQueryWrapper<T> eq(String column, Object val) {
        return (CoreQueryWrapper<T>) super.eq(column, val);
    }

    @Override
    public CoreQueryWrapper<T> orderByDesc(String column) {
        return (CoreQueryWrapper<T>) super.orderByDesc(column);
    }

    @Override
    public CoreQueryWrapper<T> last(String lastSql) {
        return (CoreQueryWrapper<T>) super.last(lastSql);
    }

    @Override
    public CoreQueryWrapper<T> in(String column, Collection<?> coll) {
        return (CoreQueryWrapper<T>) super.in(column, coll);
    }

    @Override
    public CoreQueryWrapper<T> limitN(int n) {
        return (CoreQueryWrapper<T>) super.limitN(n);
    }

}
